package com.jinlei.crm.settings.service;

import com.jinlei.crm.settings.entity.User;

import java.util.List;
import java.util.Map;

/**
 * 用户表(User)表服务接口
 *
 * @author makejava
 * @since 2022-06-27 15:42:15
 */
public interface UserService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    User findById(String id);

    /**
     *通过用户名(登录账户)查询单条数据
     *
     * @param loginAct 登录账户名
     * @return 返回结果
     */
    User findByLoginAct(String loginAct);

    /**
     * 分页查询
     *
     * @param pageNumber 当前页码
     * @param pageSize 每页条数
     * @param user 筛选条件
     * @return 查询结果
     */
    Map<String, Object> listPage(Integer pageNumber, Integer pageSize, User user);

    /**
     * 普通查询所有方法
     *
     * @return 返回用户列表
     */
    List<User> list();

    /**
     * 新增数据
     *
     * @param user 实例对象
     * @return 实例对象
     */
    boolean insert(User user);

    /**
     * 修改数据
     *
     * @param user 实例对象
     * @return 实例对象
     */
    boolean update(User user);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean remove(String id);

    /**
     * 通过主键批量删除数据
     *
     * @param ids 主键
     * @return 是否成功
     */
    boolean removeBatch(String[] ids);

}
